package m1;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

public class Producer {
    public static void main(String[] args) throws IOException, TimeoutException {
        //1.建立连接,并设置连接信息
        ConnectionFactory f = new ConnectionFactory();
        f.setHost("192.168.64.140");
        f.setPort(5672); //可选,5672是默认端口
        f.setUsername("admin");
        f.setPassword("admin");
        Connection con = f.newConnection();
        Channel c = con.createChannel();//通信的通道
        //2.在服务器上创建队列
        //告诉服务器需要一个“helloworld”队列,如果服务器不存在这个队列，会新建队列
        c.queueDeclare("helloworld",             //队列名
                        false,                 //是否是持久队列
                        false,                //是否是排他队列，独占队列
                        false,                //是否自动删除
                        null);              //其他属性

        //3.发送消息
        //发送的消息数据必须是 byte[]数组
        //第一个参数：默认的交换机
        //第二个参数：队列
        //第三参数：其他消息属性
        //第四个参数：发送的消息数据
        c.basicPublish("", "helloworld", null, "Hello World!".getBytes());
        System.out.println("消息已发送");
        c.close();
        con.close();
    }
}
